package com.kwum.pattern.TemplatePattern;


/**
 * Description: 创建一个抽象类，它的模板方法被设置为 final。
 * @author Kwum
 * @date 2017年9月12日 上午10:30:13
 * @version 1.0
 */

public abstract class Game {
    
    private void initialize() {
        System.out.println("Game initialize!"); 
    }
    
    protected abstract void startPlay();
    
    private void endPlay() {
        System.out.println("Game over!\n"); 
    }

    //模板方法
    public final void play(){

       //初始化游戏
       initialize();

       //开始游戏
       startPlay();

       //结束游戏
       endPlay();
    }
}
